Tutorial on Diffusion Models for Imaging and Vision
Stanley Chan111School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN 47907. Email: stanchan@purdue.edu.
March 26, 2024
Abstract. 최근 몇 년 동안 생성 도구의 놀라운 성장은 텍스트-이미지 생성 및 텍스트-비디오 생성에서 많은 흥미로운 응용 프로그램에 힘을 실어주었다. 이러한 생성 도구의 기본 원리는 이전 접근법에서 어렵다고 간주되었던 일부 단점을 극복한 특정 샘플링 메커니즘인 diffusion의 개념이다. 이 자습서의 목표는 확산 모델의 기본 개념을 논의하는 것이다. 이 튜토리얼의 대상 고객은 확산 모델에 대한 연구를 수행하거나 다른 문제를 해결하기 위해 이러한 모델을 적용하는 데 관심이 있는 학부 및 대학원생을 포함한다.
1 The Basics: Variational Auto-Encoder (VAE)
1.1 VAE Setting
오래 전, 멀리 떨어진 은하계에서 우리는 잠재 코드로부터 이미지를 생성하는 발전기를 만들고자 합니다. 가장 간단한(그리고 아마도 가장 고전적인) 접근법은 아래에 표시된 인코더-디코더 쌍을 고려하는 것이다. 이를 variational autoencoder (VAE) [1, 2, 3]라고 한다.
오토인코더는 입력변수 와 잠재변수 를 갖는다. 피사체를 이해하기 위해 를 아름다운 이미지로, 를 어떤 고차원 공간에 사는 일종의 벡터로 취급한다.
"변수"라는 이름은 확률 분포를 사용하여 및 를 설명하는 요인에서 비롯됩니다. 를 로 변환하는 결정론적 절차에 의지하는 대신에, 우리는 분포 가 원하는 분포 에 매핑될 수 있고, 로 역행할 수 있도록 하는 것에 더 관심이 있다. 분포 설정 때문에 몇 가지 분포를 고려해야 합니다.
-
•
: 의 분포. 그것은 결코 알려져 있지 않다. 그걸 알았다면 억만장자가 됐을 거야 확산 모델의 전체 은하는 로부터 샘플을 추출하는 방법을 찾는 것이다.
-
•
: The distribution of the latent variable. Because we are all lazy, let’s just make it a zero-mean unit-variance Gaussian .
-
•
: The conditional distribution associated with the encoder, which tells us the likelihood of when given . We have no access to it. itself is not the encoder, but the encoder has to do something so that it will behave consistently with .
-
•
: decoder과 연관된 조건부 분포는 주어진 가 를 얻는 사후 확률을 알려준다. 다시 말하지만, 우리는 그것에 접근할 수 없습니다.
The four distributions above are not too mysterious. Here is a somewhat trivial but educational example that can illustrate the idea. Example. Consider a random variable distributed according to a Gaussian mixture model with a latent variable denoting the cluster identity such that for . We assume . Then, if we are told that we need to look at the -th cluster only, the conditional distribution of given is The marginal distribution of can be found using the law of total probability, giving us (1) Therefore, if we start with , the design question for the encoder to build a magical encoder such that for every sample , the latent code will be with a distribution . To illustrate how the encoder and decoder work, let’s assume that the mean and variance are known and are fixed. Otherwise we will need to estimate the mean and variance through an EM algorithm. It is doable, but the tedious equations will defeat the purpose of this illustration. Encoder: How do we obtain from ? This is easy because at the encoder, we know and . Imagine that you only have two class . Effectively you are just making a binary decision of where the sample should belong to. There are many ways you can do the binary decision. If you like maximum-a-posteriori, you can check and this will return you a simple decision rule. You give us , we tell you . Decoder: On the decoder side, if we are given a latent code , the magical decoder just needs to return us a sample which is drawn from . A different will give us one of the mixture components. If we have enough samples, the overall distribution will follow the Gaussian mixture.
당신 같은 똑똑한 독자들은 분명히 불평할 것이다: "당신의 예는 아주 사소한 비현실적이다." 걱정하지 마라. 이해해요 물론 삶은 알려진 평균과 알려진 분산을 가진 가우시안 혼합 모델보다 훨씬 더 어렵다. 그러나 우리가 깨달은 한가지는 우리가 마법의 인코더와 디코더를 찾으려면 두 개의 조건부 분포를 찾을 수 있는 방법이 있어야 한다는 것이다. 하지만, 그들은 둘 다 고차원적인 생물이다. 그래서 우리가 더 의미 있는 말을 하기 위해서는 더 어려운 문제에 개념을 일반화할 수 있도록 추가 구조를 부과해야 합니다.
VAE의 문헌에서 사람들은 다음 두 가지 대리 분포를 고려할 아이디어를 고안한다.
-
•
: 에 대한 프록시. 우리는 그것을 가우시안처럼 만들 것이다. 왜 가우시안이죠? 별 이유 없어 아마도 우리는 그저 평범한(일명 게으른) 인간일 것이다.
-
•
: 에 대한 프록시. 믿거나 말거나, 우리는 가우시안으로도 만들 것입니다. 그러나 이 가우시안 의 역할은 가우시안 와는 약간 다르다. estimate the mean and variance for the Gaussian > 우리는 Gaussian 에 대해 아무것도 추정할 필요가 없다. 대신에, 를 로 바꾸는 디코더 신경망이 필요할 것이다. 가우시안 는 우리가 생성한 이미지 가 얼마나 좋은지 알려주기 위해 사용될 것이다.
The relationship between the input and the latent , as well as the conditional distributions, are summarized in Figure 1. There are two nodes and . The “forward” relationship is specified by (and approximated by ), whereas the “reverse” relationship is specified by (and approximated by ).
By constructing a VAE, we mean that we want to build two mappings “encode” and “decode”. For simplicity, let’s assume that both mappings are affine transformations:
We are too lazy to find out the joint distribution , nor the conditional distributions and . But we can construct the proxy distributions and . Since we have the freedom to choose what and should look like, how about we consider the following two Gaussians
The choice of these two Gaussians is not mysterious. For : if we are given , of course we want the encoder to encode the distribution according to the structure we have chosen. Since the encoder structure is , the natural choice for is to have the mean . The variance is chosen as 1 because we know that the encoded sample should be unit-variance. Similarly, for : if we are given , the decoder must take the form of because this is how we setup the decoder. The variance is which is a parameter we need to figure out.
We will pause for a moment before continuing this example. We want to introduce a mathematical tool.
1.2 Evidence Lower Bound
이 두 가지 프록시 분포를 사용하여 인코더와 디코더를 결정하는 목표를 달성하려면 어떻게 해야 합니까? 와 를 최적화 변수로 취급하면, 훈련 샘플을 통해 와 를 최적화할 수 있도록 목적 함수(또는 손실 함수)가 필요하다. 이를 위해, 와 의 관점에서 손실 함수를 설정할 필요가 있다. 여기서 사용하는 손실 함수는 Evidence Lower BOund (ELBO) [1]:
한 마디로, ELBO는 lower bound for the prior distribution because we can show that 여기서 부등식은 KL 발산이 항상 음이 아니라는 사실에서 비롯된다. 따라서, ELBO는 에 유효한 하한이다. 우리는 결코 에 접근할 수 없기 때문에, 만약 우리가 어떻게든 ELBO에 접근할 수 있고 ELBO가 좋은 하한이라면, 우리는 효과적으로 ELBO를 최대화하여 금본위제인 를 최대화하는 목표를 달성할 수 있다. 이제, 문제는 하한선이 얼마나 좋은가이다. 식 및 그림 2에서도 알 수 있듯이, 우리의 프록시 가 참 분포 와 정확히 일치할 수 있을 때 부등식은 등식이 될 것이다. 그래서, 게임의 일부는 가 에 근접하도록 하는 것이다.
(3)
이제 ELBO가 있습니다. 그러나 이 ELBO는 , 우리가 접근할 수 없는 것을 포함하기 때문에 여전히 너무 유용하지 않다. 그래서, 우리는 조금 더 많은 것들을 할 필요가 있다. ELBO를 자세히 살펴보자
| definition | ||||
| split expectation | ||||
| definition of KL |
여기서 우리는 접근할 수 없는 를 자신의 프록시 로 비밀리에 대체했다. beautiful 결과입니다. 우리는 아주 이해하기 쉬운 것을 보여줬습니다.
Reconstruction. 첫 번째 용어는 decoder에 관한 것이다. 우리는 잠재 를 디코더에 공급하면 디코더가 좋은 이미지 를 생성하기를 원한다(물론!!). 따라서 maximize 를 원합니다. 우리가 이미지를 관찰할 가능성을 최대화하기 위해 모델 모수를 찾고자 하는 최대 우도와 유사하다. 여기서의 기대는 샘플 (에서 조건됨)에 대하여 취해진다. 샘플 가 디코더의 품질을 평가하는 데 사용되기 때문에 이것은 놀랄 일이 아니다. 임의의 잡음 벡터가 아니라 의미 있는 잠재 벡터이다. 그래서 는 로부터 샘플링할 필요가 있다. Prior Matching. 두 번째 용어는 encoder에 대한 KL 발산입니다. 우리는 인코더가 를 잠재 벡터 로 바꾸어 잠재 벡터가 (게으른) 분포 의 우리의 선택을 따르도록 한다. 좀 더 일반화하기 위해 를 대상 분포로 쓴다. KL은 거리이기 때문에 (두 분포가 더 유사해질 때 증가하는) 두 분포가 더 유사해질 때 증가하도록 음의 부호를 앞에 둘 필요가 있다.
재구성 용어 및 사전 매칭 용어는 그림 3에 예시되어 있다. 두 경우 모두, 그리고 트레이닝 동안, 우리는 및 둘 다에 액세스할 수 있다고 가정하며, 여기서 는 로부터 샘플링될 필요가 있다. 그런 다음 재구성을 위해 를 추정하여 를 최대화한다. 사전 매칭을 위해, 우리는 KL 발산을 최소화하기 위해 를 찾는다. 를 업데이트하면 분포가 달라지기 때문에 최적화는 어려울 수 있다.
1.3 Training VAE
이제 우리는 ELBO의 의미를 이해했으니, VAE를 훈련하는 방법에 대해 논의할 수 있습니다. VAE를 훈련시키기 위해서는 그라운드 트루스 쌍 가 필요하다. 우리는 를 얻는 방법을 알고 있다; 그것은 단지 데이터셋의 이미지일 뿐이다. 그러나 그에 상응하여 는 어떤 것이어야 하는가?
encoder에 대해 알아봅니다. 분포 로부터 가 생성됨을 알 수 있다. 또한 가 가우시안임을 알 수 있다. 이 가우시안에는 평균 와 공분산 행렬 가 있다고 가정하자(Ha! Our laziness again! 우리는 일반적인 공분산 행렬을 사용하지 않고 등분산을 가정한다).
까다로운 부분은 입력 화상 로부터 와 를 결정하는 방법이다. 단서가 떨어지면 걱정하지 마 다크사이드 오브 더 포스에 오신 걸 환영합니다 We construct the deep neural network(s) such to
따라서, 샘플 (여기서 는 -th training sample in the training set)을 가우시안 분포로부터 샘플링할 수 있다.
| (7) |
이 아이디어는 그림 4에 요약되어 있으며, 여기서 우리는 신경망을 사용하여 가우시안 파라미터를 추정하고 가우시안으로부터 샘플을 추출합니다. 및 는 의 함수임에 유의한다. 따라서, 상이한 에 대해, 우리는 상이한 가우시안(Gaussian)을 가질 것이다.
decoder에 대해 알아봅니다. 디코더는 신경망을 통해 구현된다. 표기 단순화를 위해, 로 정의하자. 여기서 는 네트워크 파라미터를 나타낸다. 디코더 네트워크의 작업은 잠재 변수 를 취하여 이미지 를 생성하는 것이다:
| (10) |
이제, 디코딩된 이미지 와 그라운드 트루스 이미지 사이의 오차가 가우시안이라고 한 번 더(미친) 가정해 보자. (잠깐, 가우시안 다시?!) 우리는 그렇게 가정한다.
그러면, 분포가 다음과 같이 된다.
| (11) |
여기서 는 의 차원이다. 이 방정식은 ELBO에서 우도항의 최대화는 말 그대로 디코딩된 영상과 그라운드 트루스 사이의 손실일 뿐이라고 말한다. 이 아이디어는 그림 5에 나와 있다.
1.4 Loss Function
일단 인코더와 디코더의 구조를 이해하면 손실 함수를 쉽게 이해할 수 있다. 우리는 몬테카를로 시뮬레이션을 통해 기대치를 근사화한다:
여기서 는 -th sample in the training set, and is sampled from . 분포 는 이다.
KL 발산 항에서의 는 두 분포 사이의 KL 발산을 측정하고 있기 때문에 에 의존하지 않는다. 여기서의 변수 는 더미이다.
마지막으로 우리가 명확히 해야 할 한 가지는 KL 발산이다. 와 이기 때문에, 우리는 본질적으로 두 개의 가우시안 분포를 얻고 있다. 위키피디아로 가면 두 -dimensional Gaussian distributions 와 에 대한 KL divergence가 있음을 알 수 있다.
| (13) |
, , , 를 고려하여 우리의 분포를 대입하면, 우리는 KL 발산이 분석적인 식을 가지고 있음을 보여줄 수 있다.
| (14) |
여기서 는 벡터 의 차원이다. 따라서, 전체 손실 함수 Eqn(12)은 미분 가능하다. 따라서, 우리는 기울기를 역전파함으로써 인코더와 디코더를 종단간으로 훈련시킬 수 있다.
1.5 Inference with VAE
For inference, we can simply throw a latent vector (which is sampled from ) into the decoder and get an image . That’s it; see Figure 6.
Congratulations! 우린 끝났어 이건 VAE에 관한 거야
2 Denoising Diffusion Probabilistic Model (DDPM)
이 절에서는 Ho et al. [4]에 의한 DDPM을 논할 것이다. 온라인에서 수천 개의 자습서로 인해 혼란스럽다면 DDPM이 그렇게 복잡하지 않으니 안심하십시오. 다음 요약만 이해하면 됩니다.
왜 증가하죠? 그것은 거대한 배의 방향을 돌리는 것과 같다. 원하는 방향으로 천천히 배를 돌려야 합니다. 그렇지 않으면 통제력을 잃게 됩니다. 당신의 삶, 당신의 회사 인사, 당신의 대학 행정, 당신의 배우자, 당신의 자녀, 그리고 당신의 삶의 모든 것에 동일한 원칙이 적용된다. “한 번에 한 인치씩 구부려!” (신용: 전자 이미징 2023에서 이 발언을 한 세르히오 고마)
확산 모델의 구조를 이하에 나타낸다. variational diffusion model [5]라고 한다. 변이 확산 모델은 상태들의 시퀀스 를 갖는다:
-
•
: 원본 이미지이며, 이는 VAE에서 와 동일하다.
-
•
: 잠재변수이며, 이는 VAE에서 와 동일하다. 우리는 모두 게으르기 때문에 를 원한다.
-
•
: 이들은 중간 상태이다. 잠재 변수이기도 하지만 흰색 가우시안도 아닙니다.
변분 확산 모형의 구조는 7와 같다. 순방향 및 역방향 경로는 단일 단계 가변 오토인코더의 경로와 유사하다. 차이점은 인코더와 디코더가 동일한 입력-출력 차원을 갖는다는 것이다. 모든 순방향 빌딩 블록들의 조립은 인코더를 줄 것이고, 모든 역방향 빌딩 블록들의 조립은 디코더를 줄 것이다.
2.1 Building Blocks
Transition Block The -th transition block consists three states , , and . 8에 예시된 바와 같이 상태 에 도달하기 위한 두 가지 가능한 경로가 있다.
-
•
에서 로 넘어가는 순방향 천이. 연관된 전이 분포는 이다. 쉽게 말해, 라고 말하면, 에 따라 라고 말할 수 있다. 그러나, VAE와 마찬가지로, 전이 분포 는 결코 액세스할 수 없다. 하지만 이건 괜찮아 우리 같은 게으른 사람들은 가우시안 로 근사할 것이다. 우리는 나중에 의 정확한 형태에 대해 논의할 것이지만, 그것은 단지 일부 가우시안일 뿐이다.
-
•
역전이는 에서 로 진행된다. 다시 말하지만, 우리는 를 결코 알지 못하지만, 괜찮습니다. 우리는 참 분포를 근사화하기 위해 다른 가우시안 를 사용할 뿐, 그 평균은 신경망에 의해 추정될 필요가 있다.
Initial Block Variational diffusion 모델의 초기 블록은 상태 에 초점을 맞춘다. 우리가 연구하는 모든 문제는 에서 시작되기 때문에 에서 로 역전이만 있을 뿐 에서 로 가는 문제는 없다. 따라서 에 대해서만 걱정하면 된다. 그러나 는 결코 접근할 수 없기 때문에, 우리는 평균을 신경망을 통해 계산하는 가우시안 로 근사한다. 9를 예시로 참조한다.
Final Block. 최종 블록은 상태 에 초점을 맞춘다. 는 백색 가우시안 잡음 벡터인 우리의 최종 잠재 변수라는 것을 기억하라. 최종 블록이기 때문에, 에서 로 순방향 천이만 있을 뿐, 에서 와 같은 것은 없다. 순방향 전이는 가우시안인 로 근사화된다. 10를 예시로 참조한다.
Understanding the Transition Distribution. 우리가 더 진행하기 전에, 우리는 전이 분포 에 대해 이야기하기 위해 약간 우회할 필요가 있다. 우리는 그것이 가우시안이라는 것을 안다. 그러나 우리는 여전히 그것의 공식적인 정의와 이 정의의 기원을 알아야 합니다.
즉, 평균은 이고, 분산은 이다. 스케일링 팩터 의 선택은 분산 크기가 많은 반복 후에 폭발하고 사라지지 않도록 보존되도록 하는 것이다.
2.2 The magical scalars and
위 천이 확률에 대해 지니(디노이징 확산의 저자)가 마법의 스칼라 와 를 어떻게 떠올리는지 궁금할 수 있다. 이를 변형하기 위해, 관련 없는 두 개의 스칼라 와 로 시작하며, 우리는 전이 분포를 다음과 같이 정의한다.
| (17) |
Here is the rule of thumb: Why and ? We want to choose and such that the distribution of will become when is large enough. It turns out that the answer is and . Proof. We want to show that and . For the distribution shown in Eqn (17), the equivalent sampling step is: (18) Think about this: if there is a random variable , drawing from this Gaussian can be equivalently achieved by defining where . We can carry on the recursion to show that (19) The finite sum above is a sum of independent Gaussian random variables. The mean vector remains zero because everyone has a zero mean. The covariance matrix (for a zero-mean vector) is As , for any . Therefore, at the limit when , So, if we want (so that the distribution of will approach , then . Now, if we let , then . This will give us (20) Or equivalently, . You can replace by , if you prefer a scheduler.
2.3 Distribution
마법 스칼라에 대한 이해로 분포에 대해 이야기할 수 있다. 즉, 가 주어진다면 가 어떻게 분배될 것인지를 알고자 한다.
새로운 분포 의 효용은 체인 에 비해 그 원샷 포워드 확산 단계이다. 순방향 확산 모델의 모든 단계에서, 우리는 이미 를 알고 있고, 모든 서브시퀀스 천이가 가우시안이라고 가정하기 때문에, 임의의 에 대해 바로 를 알 것이다. 상황은 11로부터 이해할 수 있다.
확률 분포 가 시간에 따라 어떻게 진화하는지 궁금하다면 12에서 분포의 궤적을 보여준다. 에 있을 때 초기 분포는 두 개의 Gaussians가 혼합되어 있음을 알 수 있다. Eqn(26)에서 정의된 전이를 따라 진행함에 따라 분포가 점차 단일 가우시안 가 됨을 알 수 있다.
동일한 플롯에서, 우리는 시간 의 함수로서 랜덤 샘플 의 몇 개의 순간 궤적을 오버레이하여 보여준다. 샘플을 생성하는 데 사용한 방정식은
보시다시피, 의 궤적은 분포 를 다소 따른다.
2.4 Evidence Lower Bound
이제 변분 확산 모델의 구조를 이해했으니, 우리는 ELBO를 적어서 모델을 훈련시킬 수 있다. 변이 확산 모델용 ELBO는
Reconstruction. 재구성 용어는 초기 블록을 기반으로 한다. 로그-우도 를 이용하여 와 연관된 신경망이 잠재변수 로부터 이미지 를 얼마나 잘 복구할 수 있는지를 측정한다. 기대는 를 생성하는 분포인 로부터 도출된 샘플에 대하여 취해진다. 우리가 로부터 샘플을 끌어내고자 하는 이유에 대해 어리둥절하다면, 샘플 가 어디에서 와야 하는지에 대해 생각해보자. 샘플 는 하늘에서 오는 것이 아니다. 이들은 중간 잠재 변수이기 때문에, 순방향 천이에 의해 created 이다. 따라서 로부터 샘플을 생성해야 한다. Prior Matching. The prior matching term is based on the final block. We use KL divergence to measure the difference between and . The first distribution is the forward transition from to . This is how is generated. The second distribution is . Because of our laziness, is . We want to be as close to as possible. The samples here are which are drawn from because provides the forward sample generation process. Consistency. 일관성 항은 전이 블록을 기반으로 합니다. 두 가지 방법이 있습니다. 순방향 전이는 분포 에 의해 결정되는 반면, 역방향 전이는 뉴럴 네트워크 에 의해 결정된다. 일관성 항은 KL 발산을 사용하여 편차를 측정합니다. 기대는 공동 분포 로부터 도출된 샘플 에 대하여 취해진다. 아, 란? 걱정 마 곧 처리하겠습니다.
현재, 우리는 이 공식이 실행될 준비가 되지 않았기 때문에 훈련과 추론을 건너뛸 것이다. 한 가지 묘기를 더 논의한 다음 구현에 대해 이야기할 것입니다.
2.5 Rewrite the Consistency Term
위 변동 확산 모델의 악몽은 공동 분포 로부터 샘플 를 끌어낼 필요가 있다는 것이다. 우리는 가 무엇인지 모른다! 음, 물론 가우시안이지만, 여전히 우리는 현재 샘플 를 그리기 위해 미래의 샘플 를 사용할 필요가 있다. 이것은 이상하고 재미가 없다.
일관성 항을 검사하면 와 가 두 개의 반대 방향을 따라 이동하고 있음을 알 수 있다. 따라서, 및 를 사용할 필요가 있는 것은 불가피하다. 우리가 질문해야 할 질문은 우리가 일관성을 확인할 수 있는 동안 서로 다른 두 방향을 다룰 필요가 없도록 무언가를 생각해낼 수 있는가이다.
자, 여기 베이즈 정리라고 불리는 간단한 요령이 있습니다.
| (31) |
With this change of the conditioning order, we can switch to by adding one more condition variable . The direction is now parallel to as shown in Figure 13. So, if we want to rewrite the consistency term, a natural option is to calculate the KL divergence between and .
만약 우리가 몇몇 (boring) 대수적 유도체를 통과한다면, 우리는 ELBO가 지금이라는 것을 보여줄 수 있다: The ELBO for a variational diffusion model is
Reconstruction. 새로운 재구성 용어는 이전과 동일합니다. 우리는 여전히 로그 가능성을 최대화하고 있다. Prior Matching. 새로운 사전 매칭은 와 사이의 KL 발산으로 단순화된다. 그 변화는 우리가 지금 를 조건으로 하고 있다는 사실 때문이다. 따라서, 로부터 샘플을 끌어와 기대치를 취할 필요가 없다. Consistency. 새로운 일관성 항은 이전 항과 두 가지 면에서 다르다. 먼저, 실행중인 인덱스 는 에서 시작하고 에서 종료한다. 이전에는 부터 까지였다. 이와 함께 분포 매칭이 있는데, 이는 이제 와 사이에 있다. 그래서, 순방향 천이를 역방향 천이와 매칭하도록 요구하는 대신에, 를 이용하여 역방향 천이를 구성하고, 이를 이용하여 와 매칭시킨다.
2.6 Derivation of
이제 변분 확산 모델을 위한 새로운 ELBO를 알았으므로, 우리는 그것의 핵심 구성 요소인 에 대해 논의하는 데 약간의 시간을 보내야 한다. 간단히 말해서, 우리가 보여주고 싶은 것은
-
•
는 생각보다 미치지 못한다. 그것은 여전히 가우시안이다.
-
•
가우시안이기 때문에 평균과 공분산이 완전히 특징이다. 알고 보니
(34) for some magical scalars , and defined below.
Eqn(35)의 흥미로운 부분은 가 completely characterized by and 이다. 평균과 분산을 추정하는 데 필요한 신경망이 없습니다! (네트워크가 필요한 VAE와 비교할 수 있습니다.) 네트워크가 필요하지 않기 때문에 실제로 “학습”할 것이 없습니다. 는 와 를 알면 자동으로 결정된다. 추측도, 추정도, 아무것도 없다.
여기서의 깨달음은 중요하다. 일관성 항을 살펴보면, 번째 항이 있는 많은 KL 발산 항들의 합이다.
| (38) |
우리가 방금 말한 것처럼 와는 아무런 관계가 없다. 그러나 우리는 KL 발산을 계산할 수 있도록 에 무언가를 해야 한다.
그럼 어떻게 할까요? 는 가우시안인 것을 알고 있다. KL 발산을 빠르게 계산하려면 분명히 assume 도 가우시안일 필요가 있다. 그래, 정말이야 우리는 그것이 왜 가우시안인지 정당화할 수 없다. 그러나 는 분포이기 때문에 choose은 물론 더 쉬운 것을 선택해야 한다. 이를 위해 우리는
| (39) |
여기서 우리는 평균 벡터가 신경망을 사용하여 결정될 수 있다고 가정한다. 분산으로는 choose는 가 될 분산이다. 이것은 identical to Eqn (37)이다! 따라서, Eqn(35)을 와 나란히 놓으면, 우리는 둘 사이의 병렬 관계에 주목한다:
| (40) | ||||
| (41) |
따라서, KL 발산은 이하와 같이 단순화된다.
| (42) |
여기서 우리는 두 개의 동일한 분산 가우스시안 사이의 KL 발산이 두 평균 벡터 사이의 유클리드 거리 제곱이라는 사실을 사용했다.
Eqn에서 ELBO의 정의로 돌아가면(32), 이를 다시 쓸 수 있다.
| (43) |
몇 가지 관찰이 흥미롭습니다.
-
•
는 를 아는 한 완전히 기술되어 있기 때문에, 모든 첨자 를 탈락시켰다. 우리는 단지 각각에 백색 잡음을 추가(다른 수준의)하고 있을 뿐이다. 이것은 우리가 에 대해 최적화하기만 하면 되는 ELBO를 우리에게 줄 것이다.
-
•
파라미터 는 네트워크 를 통해 실현된다. 에 대한 네트워크 가중치이다.
-
•
The sampling from is done according to Eqn (21) which states that .
-
•
가 주어지면, 우리는 를 계산할 수 있는데, 이는 단지 이다. 그래서 를 아는 즉시 네트워크 에 전송하여 평균 추정치를 반환할 수 있다. 그런 다음 평균 추정치를 사용하여 우도를 계산합니다.
우리가 더 내려가기 전에, Eqn (35)이 어떻게 결정되었는지 논의함으로써 이야기를 완성하자.
2.7 Training and Inference
이를 보기 위해 우리는 Eqn(36)에서 회상한다.
| (51) |
는 우리의 design이기 때문에 더 편리한 것으로 정의할 수 없는 이유는 없다. 그래서 여기 옵션이 있습니다.
| (52) |
Eqn(51) 및 Eqn(52)을 Eqn(50)에 대입하면,
따라서 ELBO를 단순화할 수 있다.
| (53) |
첫 번째 항은
| definition | |||||
| recall | |||||
| recall | (54) |
Eqn(54)을 Eqn(53)에 대입하면 ELBO는 다음과 같이 단순화된다.
따라서, 신경망의 훈련은 단순 손실 함수: The loss function denoising diffusion probabilistic model:
Eqn(55)에 정의된 손실 함수는 매우 직관적이다. 특정 에 대한 주요 관심 주제인 상수와 기대를 무시하는 것은,
이는 노이즈 제거된 이미지 가 Ground truth 에 가까울 수 있도록 네트워크 를 찾아야 하기 때문에 노이즈 제거 문제일 뿐이다. 전형적인 데노이스가 아닌 이유는
-
: 임의의 랜덤 노이즈 이미지를 노이즈 제거하려고 하지 않는다. 대신, 우리는 시끄러운 이미지를 신중하게 선택하고 있다.
여기서, "조심스럽다"는 것은 우리가 이미지에 주입하는 잡음의 양이 주의 깊게 조절된다는 것을 의미했다.
Figure 14:Forward sampling process. 정방향 샘플링 프로세스는 원래 일련의 작업이다. 그러나 가우시안(Gaussian)을 가정하면 샘플링 과정을 1단계 데이터 생성으로 단순화할 수 있다. -
•
: 모든 단계에 대해 동일하게 디노이징 손실을 가중하지 않는다. 대신에, 각각의 디노이징 손실에 대한 상대적인 강조를 제어하는 스케줄러가 있다. 그러나, 단순화를 위해, 우리는 이것들을 떨어뜨릴 수 있다. 그것은 사소한 영향을 끼친다.
-
•
: The summation can be replaced by a uniform distribution .
일단 denoiser 가 훈련되면, 우리는 추론을 하기 위해 그것을 적용할 수 있다. 추론은 상태들 의 시퀀스에 걸쳐 분포들 로부터 이미지들을 샘플링하는 것에 관한 것이다. 역확산 과정이기 때문에 우리는 그것을 재귀적으로 해야 한다:
이는 다음과 같은 추론 알고리즘으로 이어진다.
2.8 Derivation based on Noise Vector
노이즈 제거 문헌에 익숙하다면 신호 대신 잡음을 예측하는 레지듀 형태의 알고리즘을 알고 있을 것이다. 우리가 소음을 예측하는 법을 배울 수 있는 디노이징 확산에도 같은 정신이 적용된다. 이것이 왜 그런지를 보기 위해, 우리는 Eqn(24)을 고려한다. 우리가 얻을 조건을 다시 조정하면
이를 에 대입하면, 우리는
| (57) |
따라서, design 우리의 평균 추정기 양식에 맞게 자유롭게 선택할 수 있다:
| (58) |
Eqn(57)과 Eqn(58)을 Eqn(50)에 대입하면 우리에게 새로운 ELBO를 줄 것이다.
따라서, 를 주면, 예측 노이즈 를 리턴할 것이다. 이를 통해 대체 학습 스킴이 제공됩니다. Training a Deniosing Diffusion Probabilistic Model (Version Predict noise) 훈련 데이터 세트의 모든 이미지 에 대해: 수렴할 때까지 다음 단계를 반복합니다. • Pick a random time stamp . Draw a sample , i.e.,
Summarizing it here, we have Inference on a Deniosing Diffusion Probabilistic Model. (Version Predict noise) You give us a white noise vector . • Repeat the following for . • We calculate using our trained denoiser. • Update according to
2.9 Inversion by Direct Denoising (InDI)
DDPM 방정식을 살펴보면, 업데이트 Eqn(56)은 다음과 같은 형태를 취함을 알 수 있다:
| (59) |
즉, -번째 추정치는 현재 추정치 , 노이즈 제거된 버전 및 노이즈 항의 세 항의 선형 조합이다. 현재 추정치와 잡음항은 이해하기 쉽다. 하지만 "디노이즈"는 무엇일까요? Delbracio와 Milanfar [6]의 흥미로운 논문은 순수 디노이징 관점에서 생성 확산 모델을 살펴보았다. 알고 보니, 이 놀랍도록 단순한 관점은 다른 더 발전된 확산 모델과 몇 가지 좋은 측면에서 일치한다.
What is ? 노이즈 제거는 노이즈가 많은 영상에서 노이즈를 제거하는 일반적인 절차이다. 통계 신호 처리의 좋은 옛날에 표준 교과서 문제는 백색 잡음에 대한 최적의 데노이저를 도출하는 것이다. 관측 모형이 주어지면
평균 제곱 오차가 최소화되도록 추정기 를 구성할 수 있는가?
우리는 이 고전적 문제에 대한 해의 도출은 [7, Chapter 8]와 같은 임의의 확률 교과서에서 찾을 수 있기 때문에 건너뛸 것이다. 상기 솔루션은,
| (60) |
그래서 우리의 문제로 돌아가면: 만약 우리가 그렇게 가정한다면
그렇다면 명백히 데노아저는 사후 분포의 조건부 기대치이다:
| (61) |
따라서, 분포 가 주어지면, 최적 데노이저는 이 분포의 조건부 기대치일 뿐이다. 이러한 denoiser를 minimum mean squared error (MMSE) denoiser라고 한다. MMSE denoiser는 not the "best" denoiser; 이는 평균 제곱 오차와 관련하여 최적의 denoiser일 뿐이다. 평균 제곱 오차는 결코 이미지 품질에 대한 좋은 메트릭이 아니기 때문에 MSE를 최소화하는 것이 반드시 더 나은 이미지를 제공하는 것은 아니다. 그럼에도 불구하고 사람들은 도출하기 쉽기 때문에 MMSE 데노아저를 좋아한다.
Incremental Denoising Steps. MMSE 디노이저가 사후 분포의 조건부 기대치와 동일하다는 것을 이해하면 증분 디노이징을 이해할 수 있습니다. 작동 방식은 이렇습니다. 깨끗한 이미지 와 노이즈 이미지 를 가지고 있다고 가정하자. 우리의 목표는 간단한 방정식을 통해 와 의 선형 조합을 형성하는 것이다.
| (62) |
Now, consider a small step previous to time . The following result, showed by [6], provides some useful utilities: Let , and suppose that , then it holds that (63) If we define as the left hand side, replace by , and write as , then the above equation will become
| (64) |
여기서 는 시간의 작은 단계이다.
Eqn (64)은 우리에게 inference 단계를 제공한다. 데노이저를 알려주고 노이즈가 있는 이미지 로 시작한다고 가정하면, Eqn(64)을 반복적으로 적용하여 이미지 , , …, 를 검색할 수 있다.
Training. 반복 스킴의 트레이닝은 를 생성하는 데노이저를 필요로 한다. 이를 위해, 우리는 신경망 를 훈련시킬 수 있다(여기서 는 네트워크 가중치를 나타냄):
| (65) |
여기서, 분포 ""는 시간 단계 가 주어진 분포로부터 균일하게 그려지도록 명시한다. 그러므로, 우리는 모든 시간 단계 에 대해 하나의 데노이저를 훈련시키고 있다. 기대 는 일반적으로 훈련 데이터 세트에서 잡음이 많고 깨끗한 이미지 쌍을 사용할 때 충족됩니다. 훈련 후, 우리는 Eqn(64)을 통해 증분 업데이트를 수행할 수 있다.
Connection with Denoising Score-Matching. 우리는 아직 스코어-매칭(다음 섹션에서 제시될 것임)에 대해 논의하지 않았지만, 위의 반복적 디노이징 절차에 대한 흥미로운 사실은 그것이 스코어-매칭 디노이징과 관련이 있다는 것이다. 높은 수준에서 반복을 다시 쓸 수 있습니다.
이것은 상미분 방정식(ODE)이다. 의 노이즈 레벨이 가 되도록 를 허용하면, 우리는 문헌에서 여러 결과를 사용하여 다음을 보여줄 수 있다.
따라서, 증분 디노이징 반복은 적어도 ODE에 의해 결정된 제한 경우에 디노이징 스코어-매칭과 동등하다.
Adding Stochastic Steps. 위의 점진적 잡음 제거 반복은 확률적 섭동을 포함할 수 있다. 추론 단계에 대해, 우리는 잡음 레벨들의 시퀀스 를 정의하고, 정의할 수 있다.
| (66) |
또는 훈련을 통해 데노이저를 훈련할 수 있다.
| (67) |
where .
Congratulations! 우린 끝났어 이것은 모두 DDPM에 관한 것이다.
3 Score-Matching Langevin Dynamics (SMLD)
점수 기반 생성 모델 [8]는 원하는 분포로부터 데이터를 생성하기 위한 대안적인 접근법이다. 랭뱅 다이내믹스, (스타인) 스코어 함수, 스코어 매칭 손실 등 몇 가지 핵심 요소가 있다. 본 절에서는 이러한 주제들을 하나씩 살펴보도록 하겠다.
3.1 Langevin Dynamics
우리 논의의 흥미로운 출발점은 랭뱅 역학이다. 그것은 생성 모델과 아무 관련이 없는 것처럼 보일 매우 물리학적인 주제이다. 하지만 걱정하지 마세요. 사실, 그들은 좋은 방식으로 관련이 있다.
Instead of telling you the physics right a way, let’s talk about how Langevin dynamics can be used to draw samples from a distribution. Imagine that we are given a distribution and suppose that we want to draw samples from . Langevin dynamics is an iterative procedure that allows us to draw samples according to the following equation. The Langevin dynamics for sampling from a known distribution is an iterative procedure for : (68) where is the step size which users can control, and is white noise.
여러분은 궁금할지도 모릅니다. 이 신비한 방정식은 도대체 무엇에 관한 것일까요? 여기 짧고 빠른 답변이 있습니다. 마지막에 노이즈 용어 를 무시하면, Eqn(68)의 Langevin dynamics equation은 말 그대로 gradient descent이다. 하강 방향 는 가 분포 로 수렴할 것임을 신중하게 선택한다. Langevin dynamics 방정식을 설명 하지 않고 10 분 동안 mumbling 하는 YouTube 비디오를 시청 하는 경우 다음과 같이 부드럽게 말할 수 있습니다. 잡음 용어 없이 Langevin dynamics is gradient descent.
분포 를 고려한다. 이 분포의 형태가 정의되고 모형 모수가 정의되자마자 고정된다. 예를 들어 가우시안을 선택하면 평균과 분산을 지정하면 가우시안의 모양과 위치가 고정된다. 값 는 데이터 포인트 에서 평가된 확률 밀도에 불과하다. 따라서, 하나의 에서 다른 로 이동하면, 하나의 값 에서 다른 값 로 이동하게 된다. 가우시안 기본 모양은 변경되지 않습니다.
에서 임의의 일부 위치로 시작한다고 가정하자. 우리는 그것을 분포의 정점(들)으로 옮기고 싶다. 피크는 확률이 가장 높은 곳이기 때문에 특별한 장소이다. 따라서, 샘플 가 분포 로부터 그려졌다고 하면, 확실히 에 대한 "최적" 위치는 가 최대가 되는 곳이다. 가 다수의 로컬 최소값을 갖는다면, 이들 중 어느 하나라도 무방할 것이다. 따라서 자연스럽게 샘플링의 목표는 최적화를 해결하는 것과 동일합니다.
우리는 이것이 not maximum likelihood estimation임을 다시 강조한다. 최대 우도에서, 데이터 포인트 는 고정되지만 모델 파라미터들은 변화하고 있다. 여기서, 모델 파라미터는 고정되어 있지만 데이터 포인트는 변화하고 있다. 아래 표는 차이점을 요약한 것이다.
| Problem |
Sampling |
Maximum Likelihood |
|---|---|---|
| Optimization target |
A sample |
Model parameter |
| Formulation |
최적화는 여러 가지 방법으로 해결할 수 있다. 가장 저렴한 방법은 물론 경사 하강이다. 의 경우, 기울기 하강 단계는
where denotes the gradient of evaluated at , and is the step size. Here we use “” instead of the typical “” because we are solving a maximization problem.
17는 샘플 궤적에 대한 흥미로운 설명을 보여준다. 임의의 위치를 시작으로 데이터 포인트 는 Langevin 다이내믹스 방정식에 따라 랜덤 워크를 할 것이다. 임의 보행의 방향이 완전히 임의적인 것은 아니다. 모든 단계에서 일정 수준의 무작위성이 있는 동안 미리 정의된 드리프트가 있다. 드리프트는 에 의해 결정되며, 여기서 랜덤성은 로부터 나온다.
위의 예에서 볼 수 있듯이 노이즈 항의 추가는 실제로 Gradient descent를 stochastic Gradient descent으로 변경한다. 결정론적 최적을 위해 촬영하는 대신 확률적 기울기 하강은 무작위로 언덕을 올라간다. 우리는 일정한 스텝 크기 를 사용하기 때문에, 최종 해는 단지 피크 주변에서 진동할 것이다. 따라서 Langevin dynamics 식을 요약할 수 있습니다. Langevin dynamics is stochastic gradient descent. 그런데 왜 기울기 하강 대신 확률적 기울기 하강을 하려는 것일까? 핵심은 우리가 최적화 문제를 푸는 데 관심이 없다는 것이다. 대신 배포에서 sampling에 더 관심이 있습니다. 무작위 잡음을 기울기 하강 단계에 도입함으로써 목적 함수의 궤적이 있는 곳에 머무르지 않으면서 목적 함수의 궤적을 따르는 표본을 무작위로 선택한다. 우리가 정상에 가까우면 좌우로 약간 움직일 것이다. 만약 우리가 피크에서 멀리 떨어져 있다면, 기울기 방향은 우리를 피크 쪽으로 끌어당길 것이다. 피크 주위의 곡률이 날카롭다면, 우리는 대부분의 정상 상태점 에 집중할 것이다. 봉우리 주변의 곡률이 평평하다면 우리는 주변에 퍼질 것이다. 따라서, 균등하게 분포된 위치에서 확률적 경사 하강 알고리즘을 반복적으로 초기화함으로써, 우리는 결국 우리가 지정한 분포를 따를 샘플들을 수집할 것이다.
3.2 (Stein’s) Score Function
랭뱅 역학 방정식의 두 번째 성분은 기울기 이다. 그것은 Stein's score function, denoted by
| (76) |
우리는 Stein의 점수 함수를 ordinary score function로 정의하지 않도록 주의해야 한다.
| (77) |
통상 스코어 함수는 로그-우도의 그래디언트(wrt)이다. 대조적으로, 스타인의 점수 함수는 그래디언트 wrt 데이터 포인트 이다. 최대 우도 추정은 보통 점수 함수를 사용하는 반면, 랭뱅 역학은 스타인의 점수 함수를 사용한다. 그러나 확산 문헌의 대부분의 사람들은 스타인의 점수 함수를 점수 함수로 부르므로 우리는 이 문화를 따른다. The "score function in Langevin dynamics is more accurately known the Stein's score function.
점수 함수를 이해하는 방법은 데이터 에 대한 그래디언트임을 기억하는 것이다. 임의의 고차원 분포 에 대해, 그래디언트는 우리에게 벡터 필드를 줄 것이다
| (78) |
Let’s consider two examples. Example. If is a Gaussian with , then
위의 두 예제의 확률밀도함수와 해당 점수함수는 18와 같다.
![]() |
![]() |
| (a) | (b) |
Geometric Interpretations of the Score Function.
-
•
벡터의 크기는 의 변화가 가장 큰 곳에서 가장 강하다. 따라서, 가 피크에 가까운 영역에서는 대부분 매우 약한 그래디언트가 될 것이다.
-
•
벡터 필드는 how a data point should travel in the contour map. 19에서 우리는 가우시안 혼합물(두 개의 가우시안 포함)의 등고선 지도를 보여준다. 우리는 벡터장을 나타내기 위해 화살표를 그린다. 이제 우리가 공간에 살고 있는 데이터 포인트를 고려한다면, 랭뱅 역학 방정식은 기본적으로 데이터 포인트를 벡터장이 가리키는 방향을 따라 분지를 향해 이동할 것이다.
-
•
물리학에서 점수 함수는 "drift"과 같다. 이 이름은 확산 입자가 가장 낮은 에너지 상태로 어떻게 흘러가야 하는지를 시사한다.
![]() |
![]() |
| (a) vector field of | (b) trajectory |
3.3 Score Matching Techniques
Langevin dynamics에서 가장 어려운 문제는 에 대한 접근 권한이 없기 때문에 를 어떻게 구할 것인가이다. 슈타인 점수 함수의 정의를 떠올려 보자.
| (79) |
여기서, 가 네트워크를 통해 구현될 것임을 나타내기 위해 첨자 를 넣는다. 위 방정식의 오른쪽은 알려져 있지 않기 때문에, 우리는 그것을 근사화하기 위한 몇 가지 값싸고 더러운 방법이 필요하다. 이 절에서는 두 가지 근사치에 대해 간략하게 논의한다.
Explicit Score-Matching. 데이터세트 가 주어졌다고 가정하자. 사람들이 생각해 낸 해는 분포를 정의하여 고전적인 커널 밀도 추정을 고려하는 것이다.
| (80) |
여기서 는 커널 함수 , 는 트레이닝 세트 내의 -번째 샘플일 뿐이다. 20는 커널 밀도 추정의 아이디어를 예시한다. 왼쪽에 표시된 만화 그림에서 서로 다른 데이터 포인트 를 중심으로 여러 개의 커널 를 보여준다. 이 모든 개별 커널의 합은 전체 커널 밀도 추정치 를 제공한다. 오른쪽은 실제 히스토그램과 해당 커널 밀도 추정치를 보여준다. 우리는 가 기껏해야 알려지지 않은 진정한 데이터 분포 에 대한 근사치라고 지적한다.
![]() |
![]() |
는 결코 접근할 수 없는 에 대한 근사치이므로, 에 기초하여 를 학습할 수 있다. 이것은 네트워크를 훈련시키는 데 사용될 수 있는 손실 함수의 다음과 같은 정의로 이어진다. The explicit score matching
그래서 우리는 네트워크를 훈련하는 데 사용할 수 있는 손실 함수를 유도했다. 일단 네트워크 를 훈련시키면, 이를 랑게빈 역학 방정식에서 대체하여 재귀성을 구할 수 있다:
(82)
(83)
명시적 점수 매칭의 문제는 커널 밀도 추정이 참 분포의 상당히 열악한 비모수 추정이라는 것이다. 특히 표본 수가 제한적이고 표본이 고차원 공간에 존재할 경우 커널 밀도 추정 성능이 떨어질 수 있다.
Denoising Score Matching. 명시적 점수 매칭의 잠재적인 단점들을 고려하여, 이제 우리는 디노이징 점수 매칭(DSM)으로 알려진 보다 대중적인 점수 매칭을 소개한다. DSM에서 손실 함수는 다음과 같이 정의된다.
| (84) |
여기서 중요한 차이점은 분포 를 조건부 분포 로 대체한다는 것이다. 전자는 예를 들어 커널 밀도 추정을 통한 근사치를 필요로 하는 반면 후자는 그렇지 않다. 예를 들어 설명하면 다음과 같다.
In the special case where , we can let . This will give us
그 결과, 상기 디노이징 스코어 매칭의 손실 함수는
If we replace the dummy variable by , and we note that sampling from can be replaced by sampling from when we are given a training dataset, we can conclude the following. The Denoising Score Matching has a loss function defined as (85)
Eqn(85)에 대한 아름다움은 해석이 가능하다는 것이다. 수량 는 깨끗한 이미지 에 노이즈 를 효과적으로 추가하고 있다. 점수 함수 는 이 노이즈 이미지를 취하여 노이즈 를 예측하도록 되어 있다. 노이즈를 예측하는 것은 노이즈 제거와 동일하며, 이는 노이즈 제거된 이미지와 예측된 노이즈가 노이즈 관찰을 제공하기 때문이다. 따라서, Eqn(85)는 denoising step이다. 21는 스코어 함수 의 트레이닝 절차를 예시한다.
training 단계는 다음과 같이 간단히 설명할 수 있습니다.
| (86) |
여기서 더 큰 질문은 Eqn(84)이 애초에 왜 말이 되는가이다. 이는 명시적 스코어 매칭 손실과 디노이징 스코어 매칭 손실 사이의 동등성을 통해 답변될 필요가 있다.
명시적 점수 매칭과 노이즈 제거 점수 매칭 사이의 동등성은 주요 발견이다. 아래의 증명은 빈센트 2011의 원작을 바탕으로 한다.
inference의 경우 점수 추정기 를 이미 학습했다고 가정합니다. 이미지를 생성하기 위해, 에 대해 다음과 같은 절차를 수행한다:
| (88) |
Congratulations! 우린 끝났어 이것은 모두 점수 기반 생성 모델에 관한 것입니다.
4 Stochastic Differential Equation (SDE)
지금까지 우리는 DDPM과 SMLD 관점을 통해 확산 반복을 유도했다. 이 절에서는 미분방정식의 렌즈를 통해 세 번째 관점을 소개하고자 한다. 왜 우리의 반복적인 계획들이 갑자기 복잡한 미분 방정식이 되는지는 분명하지 않을 수 있다. 따라서 방정식을 도출하기 전에 미분 방정식이 우리와 어떻게 관련될 수 있는지에 대해 간략하게 논의해야 한다.
4.1 Motivating Examples
이 동기 부여 사례에서 우리가 관찰하는 것은 두 가지 흥미로운 사실입니다.
-
•
이산-시간 반복 방식은 연속-시간 상미분 방정식으로 작성될 수 있다. 유한차분 방정식에 대해 우리는 재귀를 ODE로 바꿀 수 있다는 것이 밝혀졌다.
-
•
단순한 ODE의 경우, 우리는 분석해를 닫힌 형태로 적을 수 있다. 더 복잡한 ODE는 분석 솔루션을 작성하기 어려울 것이다. 그러나 여전히 ODE 도구를 사용하여 솔루션의 동작을 분석할 수 있습니다. 우리는 또한 제한 솔루션 를 유도할 수 있다.
Forward and Backward Updates.
경사 하강 예제를 사용하여 ODE의 한 가지 측면을 더 설명한다. Eqn(92)으로 돌아가면, 우리는 재귀가 동등하게 다음과 같이 기록될 수 있음을 인식한다(라고 가정함):
| (95) |
where the continuous equation holds when we set and . The interesting point about this equality is that it gives us a summary of the update by writing it in terms of . It says that if we move the along the time axis by , then the solution will be updated by .
Eqn(95)은 changes 간의 관계를 정의한다. 반복의 시퀀스 를 고려하고 반복의 진행이 Eqn(95)을 따른다고 하면 쓸 수 있다.
We call this as the forward equation because we update by assuming that .
이제, 를 반복하는 시퀀스를 생각해 보자. 반복의 진행이 Eqn(95)을 따른다고 하면 시간-역 반복은 다음과 같다.
진행 방향을 반전할 때 부호 변화에 주목하라. 이를 reverse 식이라고 합니다.
4.2 Forward and Backward Iterations in SDE
The concept of differential equation for diffusion is not too far from the above gradient descent algorithm. If we introduce a noise term to the gradient descent algorithm, then the ODE will become a stochastic differential equation (SDE). To see this, we just follow the same discretization scheme by defining as a continuous function for . Suppose that there are steps in the interval so that the interval can be divided into a sequence . The discretization will give us , and . The interval step is , and the set of all ’s is . Using these definitions, we can write
Now, let’s define a random process such that for a very small . In computation, we can generate such a by integrating (which is a Wiener process). With defined, we can write
The equation above reveals a generic form of the SDE. We summarize it as follows. Forward Diffusion. (96)
와 라는 두 용어는 물리적인 의미를 지니고 있다. 드래프트 계수는 무작위 효과가 없을 때 닫힌 시스템의 분자가 이동하는 방법을 정의하는 벡터 값 함수 이다. 경사 하강 알고리즘의 경우 드리프트는 목적 함수의 음의 기울기에 의해 정의된다. 즉, 우리는 해 궤적이 목표의 기울기를 따르기를 원한다.
확산 계수 는 분자가 한 위치에서 다른 위치로 무작위로 걷는 방법을 설명하는 스칼라 함수이다. 함수 는 랜덤 이동이 얼마나 강한지를 결정한다.
Remark. 보시다시피, 차분 는 백색 가우시안 벡터인 위너 프로세스로 정의된다. 개별 는 가우시안인 것이 아니라, 차이 는 가우시안이다.
확산 방정식의 역 방향은 시간적으로 뒤로 이동하는 것이다. Anderson [17]에 따른 역방향-시간 SDE는 다음과 같이 주어진다. Reverse SDE.
Example. Consider the reverse diffusion equation
(98)
We can write the discrete-time recursion as follows. For , do
In the figure below we show the trajectory of this reverse-time process. Note that the initial point marked in red is at . The process is tracked backward to .
4.3 Stochastic Differential Equation for DDPM
DDPM과 SDE 사이의 연결을 도출하기 위해 이산 시간 DDPM 반복을 고려한다.
| (99) |
We can show that this equation can be derived from the forward SDE equation below. The forward sampling equation of DDPM can be written as an SDE via (100)
이 경우인 이유를 알아보기 위해, 스텝 사이즈 를 정의하고, 보조 노이즈 레벨 여기서 를 고려한다. 그럼
여기서, , 에 대한 연속 시간 함수라고 가정한다. 유사하게, 우리는 정의한다
따라서 우리는
Thus, as , we have
| (101) |
따라서 DDPM 포워드 업데이트 반복이 SDE로 동등하게 작성될 수 있음을 보였다.
DDPM 순방향 업데이트 반복을 SDE로 작성할 수 있다는 것은 SDE를 풀어서 DDPM 추정치를 결정할 수 있다는 것을 의미한다. 즉, 적절하게 정의된 SDE 솔버를 위해, 우리는 SDE를 솔버 안으로 던질 수 있다. 적절하게 선택된 풀이자가 반환하는 해는 DDPM 추정치일 것이다. 물론, 우리는 DDPM 반복 자체가 SDE를 해결하고 있기 때문에 SDE 해결기를 사용할 필요가 없다. DDPM 반복은 단지 1차 방법이기 때문에 최상의 SDE 해결사는 아닐 수 있다. 그럼에도 불구하고 SDE 솔버를 사용하는 데 관심이 없다면 여전히 DDPM 반복을 사용하여 솔루션을 얻을 수 있다. 예를 들어 설명하면 다음과 같다.
The reverse diffusion equation follows from Eqn (97) by substituting the appropriate quantities: and . This will give us
which will give us the following equation: The reverse sampling equation of DDPM can be written as an SDE via (102)
The iterative update scheme can be written by considering , and . Then, letting , we can show that
By grouping the terms, and assuming that , we recognize that
Then, following the discretization scheme by letting , , , , and , we can show that
| (103) |
여기서 는 의 시간 에서의 확률 밀도 함수이다. 실제 구현을 위해 를 추정 점수 함수 로 대체할 수 있다.
따라서 우리는 [8]에서 Song과 Ermon이 정의한 것과 일치하는 DDPM 반복을 복구했다. 이것은 점수 함수를 사용하여 DDPM의 반복을 연결할 수 있기 때문에 흥미로운 결과이다. Song and Ermon [8] SDE를 variance preserving (VP) SDE라고 불렀다.
4.4 Stochastic Differential Equation for SMLD
점수 매칭 랭빈 다이내믹스 모델은 또한 SDE에 의해 기술될 수 있다. 우선, 우리는 SMLD 설정에서 실제로 "전진 확산 단계"가 없다는 것을 알아챘다. 그러나 SMLD 훈련에서 노이즈 스케일을 수준으로 나누면 재귀가 마르코프 체인을 따라야 한다고 대략적으로 주장할 수 있다.
| (104) |
이것은 보기에 그리 어렵지 않습니다. 의 분산이 라고 가정하면, 우리는 다음을 보여줄 수 있다.
그러므로, 노이즈 레벨의 시퀀스가 주어지면, Eqn(104)은 실제로 노이즈 통계가 원하는 특성을 만족시킬 수 있도록 추정치 를 생성할 것이다.
If we agree Eqn (104), it is easy to derive the SDE associated with Eqn (104). Assuming that in the limit becomes the continuous time for , and becomes where if we let . Then we have
At the limit when , the equation converges to
We summarize our result as follows. The forward sampling equation of SMLD can be written as an SDE via (105) Mapping this to Eqn (96), we recognize that
결과적으로, 우리가 역 방정식 Eqn(97)을 쓰면, 우리는 가져야 한다.
This will give us the following reverse equation: The reverse sampling equation of SMLD can be written as an SDE via (106) For the discrete-time iterations, we first define . Then, using the same set of discretization setups as the DDPM case, we can show that
| (107) | |||||
이는 SMLD 역갱신 방정식과 동일하다. Song and Ermon [8]는 SDE를 variance exploding (VE) SDE라고 불렀다.
4.5 Solving SDE
이 부분에서는 미분방정식이 어떻게 수치적으로 풀리는지에 대해 간단히 논의한다. 논의를 조금 더 쉽게 하기 위해, 우리는 ODE에 초점을 맞출 것이다. 다음 ODE 고려
| (108) |
If the ODE is a scalar ODE, then the ODE is .
Euler Method. Euler method is a first order numerical method for solving the ODE. Given , and , Euler method solves the problem via an iterative scheme for such that
여기서 는 스텝 사이즈이다. 간단한 예를 생각해 보자.
Runge-Kutta (RK) Method. 또 다른 대중적으로 사용되는 ODE 해결 방법은 Runge-Kutta(RK) 방법이다. 기존의 RK-4 알고리즘은 반복을 통해 ODE를 해결한다.
여기서, 수량 , , 및 는 다음과 같이 정의된다.
자세한 내용은 [18]와 같은 수법 교재를 참고할 수 있다.
Predictor-Corrector Algorithm. 상이한 수치 솔버는 근사의 오차 측면에서 상이한 거동을 갖기 때문에, ODE(또는 SDE)를 기성 수치 솔버에 던지는 것은 다양한 정도의 오차 [19]를 초래할 것이다. 그러나, 우리가 역확산 방정식을 구체적으로 해결하려고 한다면, 그림 22에 예시된 바와 같이, 적절한 보정을 하기 위해 수치 ODE/SDE 솔버 이외의 기술을 사용하는 것이 가능하다.
DDPM을 예로 들어보자. DDPM에서 역확산 방정식은 다음과 같다.
우리는 역확산을 위한 오일러 방법으로 고려할 수 있다. 그러나, 스코어 함수 를 이미 학습시킨 경우, 스코어 매칭 방정식을 실행할 수 있고, 즉,
for times to make correction. 알고리즘1는 아이디어를 요약한 것이다. (우리가 점수 함수를 추정치로 대체했다는 점에 유의하라.)
| (109) |
| (110) |
SMLD 알고리즘의 경우, 두 방정식은 다음과 같다:
우리는 수정 반복을 몇 번 반복함으로써 DDPM의 예측-수정 알고리즘의 경우와 같이 이들을 짝지을 수 있다.
Accelerate the SDE Solver. 일반 ODE 솔루션은 ODE를 해결하는 데 사용할 수 있지만 우리가 접하는 정방향 및 역방향 확산 방정식은 매우 특별한다. 사실, 그들은...의 형태를 취한다.
| (111) |
for some choice of functions and , with the initial condition . This is not a complicated ODE. It is just a first order ODE. In [20], Lu et al. observed that because of the special structure of the ODE (they called the semi-linear structure), it is possible to separately handle and . To understand how things work, we use a textbook result shown below. Theorem [Variation of Constants] ([21, Theorem 1.2.3]). Consider the ODE over the range : (112) The solution is given by (113) where . We can further simplify the second term above by noticing that
where , and . Using the Variation of Constants Theorem, we can solve the ODE exactly at time by the formula
Then, by defining , and with additional simplifications outlined in [20], this equation can be simplified to
이 방정식을 평가하기 위해서는 오른쪽에 표시된 적분을 위한 수치적분기를 실행하기만 하면 된다. 물론, 간결함을 위해 건너뛰어야 할 ODE를 해결하기 위한 다른 수치 가속 방법이 있다.
Congratulations! 우린 끝났어 이건 SDE에 관한 거야
여러분 중 몇몇은 궁금할지도 모릅니다: 왜 우리는 반복적인 계획을 미분 방정식에 매핑하기를 원하나요? 몇 가지 이유가 있는데, 일부는 합법적인 반면 일부는 추측적이다.
-
•
여러 확산 모델을 동일한 SDE 프레임워크로 통합함으로써 알고리즘을 비교할 수 있다. 경우에 따라 확률적 샘플링 문헌뿐만 아니라 SDE 문헌에서 아이디어를 차용하여 수치 스킴을 개선할 수 있다. 예를 들어, [8]의 예측자-수정자 스킴은 마르코프 체인 몬테 카를로와 결합된 하이브리드 SDE 솔버였다.
-
•
[22]와 같은 일부 논문에 따르면 확산 반복을 SDE에 매핑하면 더 많은 디자인 유연성을 제공한다.
-
•
컨텍스트 확산 알고리즘 외에 일반적인 확률적 경사 하강 알고리즘에서는 Fokker-Planck 방정식과 같은 상응하는 SDE를 갖는다. 사람들은 추정치의 한계 분포를 정확히 닫힌 형태로 이론적으로 분석하는 방법을 입증했다. 이것은 잘 정의된 제한 분포를 분석하는 수단으로 무작위 알고리즘을 분석하는 어려움을 완화한다.
5 Conclusion
이 자습서는 최근 문헌에서 확산 기반 생성 모델의 개발을 뒷받침하는 몇 가지 기본 개념을 다룬다. 문헌의 순전한 양(그리고 빠르게 확장됨)을 감안할 때 파이썬 데모를 재활용하는 대신 근본적인 아이디어를 설명하는 것이 특히 중요하다는 것을 알게 된다. 이 자습서를 쓰면서 배운 몇 가지 교훈은 다음과 같습니다.
-
•
동일한 확산 아이디어는 VAE, DDPM, SMLD 및 SDE와 같은 여러 관점에서 독립적으로 도출될 수 있다. 어떤 사람들은 다르게 주장할 수 있지만, 한 사람이 다른 사람보다 더 우월한/열등한 이유는 특별한 이유가 없다.
-
•
디노이징 확산이 작동하는 주된 이유는 GAN과 VAE 시대에 실현되지 않은 작은 증가 때문이다.
-
•
반복적 노이즈 제거가 현재 최첨단이지만, 접근법 자체가 궁극적인 해결책으로 보이지는 않는다. 인간은 순수한 잡음으로부터 이미지를 생성하지 않는다. 또한 확산 모델의 작은 증가 특성으로 인해 상황을 개선하기 위해 지식 증류에 대한 일부 노력이 있었지만 속도는 계속해서 주요 장애물이 될 것이다.
-
•
비 가우시안으로부터 잡음을 발생시키는 것에 관한 몇몇 질문들은 정당성을 요구할 수 있다. 가우시안 분포를 도입하는 전체 이유가 유도를 더 쉽게 하기 위해서라면, 왜 우리는 우리의 삶을 더 어렵게 만들어 다른 종류의 잡음으로 전환해야 하는가?
-
•
역문제에 대한 확산 모델의 적용은 쉽게 구할 수 있다. Plug-and-Play ADMM 알고리즘과 같은 기존의 역해법들에 대해, 우리는 명시적 확산 샘플러로 데노아저를 대체할 수 있다. 사람들은 이 접근법을 기반으로 개선된 이미지 복원 결과를 입증했다.
References
- [1] D. P. Kingma and M. Welling, “An introduction to variational autoencoders,” Foundations and Trends in Machine Learning, vol. 12, no. 4, pp. 307–392, 2019. https://arxiv.org/abs/1906.02691.
- [2] C. Doersch, “Tutorial on variational autoencoders,” 2016. https://arxiv.org/abs/1606.05908.
- [3] D. P. Kingma and M. Welling, “Auto-encoding variational Bayes,” in ICLR, 2014. https://openreview.net/forum?id=33X9fd2-9FyZd.
- [4] J. Ho, A. Jain, and P. Abbeel, “Denoising diffusion probabilistic models,” in NeurIPS, 2020. https://arxiv.org/abs/2006.11239.
- [5] D. P. Kingma, T. Salimans, B. Poole, and J. Ho, “Variational diffusion models,” in NeurIPS, 2021. https://arxiv.org/abs/2107.00630.
- [6] M. Delbracio and P. Milanfar, “Inversion by direct iteration: An alternative to denoising diffusion for image restoration,” Transactions on Machine Learning Research, 2023. https://openreview.net/forum?id=VmyFF5lL3F.
- [7] S. H. Chan, Introduction to Probability for Data Science. Michigan Publishing, 2021. https://probability4datascience.com/.
- [8] Y. Song, J. Sohl-Dickstein, D. P. Kingma, A. Kumar, S. Ermon, and B. Poole, “Score-based generative modeling through stochastic differential equations,” in ICLR, 2021. https://openreview.net/forum?id=PxTIG12RRHS.
- [9] P. Vincent, “A connection between score matching and denoising autoencoders,” Neural Computation, vol. 23, no. 7, pp. 1661–1674, 2011. https://www.iro.umontreal.ca/~vincentp/Publications/smdae_techreport.pdf.
- [10] J. Sohl-Dickstein, E. Weiss, N. Maheswaranathan, and S. Ganguli, “Deep unsupervised learning using nonequilibrium thermodynamics,” in ICML, vol. 37, pp. 2256–2265, 2015. https://arxiv.org/abs/1503.03585.
- [11] C. Luo, “Understanding diffusion models: A unified perspective,” 2022. https://arxiv.org/abs/2208.11970.
- [12] J. Song, C. Meng, and S. Ermon, “Denoising diffusion implicit models,” in ICLR, 2023. https://openreview.net/forum?id=St1giarCHLP.
- [13] R. Rombach, A. Blattmann, D. Lorenz, P. Esser, and B. Ommer, “High-resolution image synthesis with latent diffusion models,” in CVPR, pp. 10684–10695, 2022. https://arxiv.org/abs/2112.10752.
- [14] C. Saharia, W. Chan, S. Saxena, L. Li, J. Whang, E. L. Denton, K. Ghasemipour, R. Gontijo Lopes, B. Karagol Ayan, T. Salimans, J. Ho, D. J. Fleet, and M. Norouzi, “Photorealistic text-to-image diffusion models with deep language understanding,” in NeurIPS, vol. 35, pp. 36479–36494, 2022. https://arxiv.org/abs/2205.11487.
- [15] Y. Song and S. Ermon, “Generative modeling by estimating gradients of the data distribution,” in NeurIPS, 2019. https://arxiv.org/abs/1907.05600.
- [16] Y. Song and S. Ermon, “Improved techniques for training score-based generative models,” in NeurIPS, 2020. https://arxiv.org/abs/2006.09011.
- [17] B. Anderson, “Reverse-time diffusion equation models,” Stochastic Process. Appl., vol. 12, pp. 313–326, May 1982. https://www.sciencedirect.com/science/article/pii/0304414982900515.
- [18] K. Atkinson, W. Han, and D. Stewart, Numerical solution of ordinary differential equations. Wiley, 2009. https://homepage.math.uiowa.edu/~atkinson/papers/NAODE_Book.pdf.
- [19] T. Karras, M. Aittala, T. Aila, and S. Laine, “Elucidating the design space of diffusion-based generative models,” in NeurIPS, 2022. https://arxiv.org/abs/2206.00364.
- [20] C. Lu, Y. Zhou, F. Bao, J. Chen, C. Li, and J. Zhu, “DPM-Solver: A fast ODE solver for diffusion probabilistic model sampling in around 10 steps,” in NeurIPS, 2022. https://arxiv.org/abs/2206.00927.
- [21] G. Nagy, “MTH 235 differential equations,” 2024. https://users.math.msu.edu/users/gnagy/teaching/ade.pdf.
- [22] M. S. Albergo, N. M. Boffi, and E. Vanden-Eijnden, “Stochastic interpolants: A unifying framework for flows and diffusions.” https://arxiv.org/abs/2303.08797.





